;:open1,8,15,"s:disktest $c000":close1
;:open8,8,8,"disktest $c000,p,w
;:sys36864
	;.opt o8
bis	=3
track	=2
strout	=$ab1e
clrchn	=$ffcc
talk	=$ffb4
listen	=$ffb1
untalk	=$ffab
unlist	=$ffae
seclist	=$ff93
sectalk	=$ff96
iecin	=$ffa5
iecout	=$ffa8
sa	=$b9
fa	=$ba
return	=$aad7
zeig	=4
gesa	=166
anz	=6
	*= $c000
	jmp prg1
	jmp prg2
prg1	=*
	jsr clrchn
	jsr $b7f1
	stx track
	jsr $b7f1
	stx bis
	lda #0
	sta gesa
	sta gesa+1
	sta zeig
	lda #$c8
	sta zeig+1
mainloop	lda #<text
	ldy #>text
	jsr strout
	lda #0
	ldx track
	stx para
	jsr $bdcd
	jsr return
	lda #8
	sta fa
	jsr listen
	lda #$6f
	sta sa
	jsr seclist
	ldx #0
outlp	lda cmd,x
	jsr iecout
	inx
	cpx #3
	bcc outlp
	jsr unlist
	lda #0
	sta adr
	jsr sendlese
	jsr fetch
	bne err
cont	inc track
	lda bis
	cmp track
	bcs mainloop
	lda #0
	sta track
	jmp eintrag
err	pha
	lda #<msg
	ldy #>msg
	jsr strout
	pla
	pha
	tax
	lda #0
	jsr $bdcd
	lda #<msg2
	ldy #>msg2
	jsr strout
	pla
	pha
	clc
	adc gesa
	sta gesa
	bcc noi
	inc gesa+1
noi	pla
	sta anz
azloop	inc adr
	jsr sendlese
	jsr fetch
	jsr eintrag
	dec anz
	bne azloop
	jmp cont
sendlese	lda #8
	sta fa
	jsr listen
	lda #$6f
	sta sa
	jsr seclist
	ldx #0
outlp2	lda lese,x
	jsr iecout
	inx
	cpx #5
	bcc outlp2
	jmp unlist
fetch	lda #8
	sta fa
	jsr talk
	lda #$6f
	sta sa
	jsr sectalk
	jsr iecin
	pha
	jsr untalk
	pla
	rts
eintrag	ldy #0
	pha
	lda track
	sta (zeig),y
	iny
	pla
	sta (zeig),y
	lda zeig
	clc
	adc #2
	sta zeig
	bcc noinc
	inc zeig+1
noinc	rts
text	.byte "\x91teste track "
	.byt 0
cmd	.byte "uc"
para	.byt 0
lese	.byte "m-r"
adr	.byt 0,4,1
msg	.byte " - \x12"
	.byt 0
msg2	.byte "\x92 sektoren fehlerhaft -\x11"
	.byt 13,0
prg3	ldx table
tab	cmp table,x
	dex
	bcs tab
	lda sek,x
	rts
table	.byt 4,42,31,25,18
sek	.byt 17,18,19,21
prg2	jsr $b7f1
	stx track
	jsr $b7f1
	inx
	stx bis
	lda #0
	sta gesa
	sta gesa+1
loop	lda track
	cmp bis
	bcs fertig
	jsr prg3
	clc
	adc gesa
	sta gesa
	lda gesa+1
	adc #0
	sta gesa+1
	inc track
	bne loop
fertig	rts
	.end
	close8
